From 019f0af0ebe15d64e0076a19b158c5826d54e4cf Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 17 Aug 2017 00:23:07 -0300 Subject: [PATCH] gdk: introduce edge constraint states These states will be consumed by GtkWindow in order to have better edge management on tiling situations. Their values are supplied by the compositor, and will be send through and X11 Atom or a Wayland protocol extension. https://bugzilla.gnome.org/show_bug.cgi?id=783669 --- gdk/gdkevents.h | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h index 405ccc1864..e46db4202f 100644 --- a/gdk/gdkevents.h +++ b/gdk/gdkevents.h @@ -520,21 +520,38 @@ typedef enum * @GDK_WINDOW_STATE_ABOVE: the window is kept above other windows. * @GDK_WINDOW_STATE_BELOW: the window is kept below other windows. * @GDK_WINDOW_STATE_FOCUSED: the window is presented as focused (with active decorations). - * @GDK_WINDOW_STATE_TILED: the window is in a tiled state, Since 3.10 + * @GDK_WINDOW_STATE_TILED: the window is in a tiled state, Since 3.10. Since 3.91.2, this + * is deprecated in favor of per-edge information. + * @GDK_WINDOW_STATE_TOP_TILED: whether the top edge is tiled, Since 3.91.2 + * @GDK_WINDOW_STATE_TOP_RESIZABLE: whether the top edge is resizable, Since 3.91.2 + * @GDK_WINDOW_STATE_RIGHT_TILED: whether the right edge is tiled, Since 3.91.2 + * @GDK_WINDOW_STATE_RIGHT_RESIZABLE: whether the right edge is resizable, Since 3.91.2 + * @GDK_WINDOW_STATE_BOTTOM_TILED: whether the bottom edge is tiled, Since 3.91.2 + * @GDK_WINDOW_STATE_BOTTOM_RESIZABLE: whether the bottom edge is resizable, Since 3.91.2 + * @GDK_WINDOW_STATE_LEFT_TILED: whether the left edge is tiled, Since 3.91.2 + * @GDK_WINDOW_STATE_LEFT_RESIZABLE: whether the left edge is resizable, Since 3.91.2 * * Specifies the state of a toplevel window. */ typedef enum { - GDK_WINDOW_STATE_WITHDRAWN = 1 << 0, - GDK_WINDOW_STATE_ICONIFIED = 1 << 1, - GDK_WINDOW_STATE_MAXIMIZED = 1 << 2, - GDK_WINDOW_STATE_STICKY = 1 << 3, - GDK_WINDOW_STATE_FULLSCREEN = 1 << 4, - GDK_WINDOW_STATE_ABOVE = 1 << 5, - GDK_WINDOW_STATE_BELOW = 1 << 6, - GDK_WINDOW_STATE_FOCUSED = 1 << 7, - GDK_WINDOW_STATE_TILED = 1 << 8 + GDK_WINDOW_STATE_WITHDRAWN = 1 << 0, + GDK_WINDOW_STATE_ICONIFIED = 1 << 1, + GDK_WINDOW_STATE_MAXIMIZED = 1 << 2, + GDK_WINDOW_STATE_STICKY = 1 << 3, + GDK_WINDOW_STATE_FULLSCREEN = 1 << 4, + GDK_WINDOW_STATE_ABOVE = 1 << 5, + GDK_WINDOW_STATE_BELOW = 1 << 6, + GDK_WINDOW_STATE_FOCUSED = 1 << 7, + GDK_WINDOW_STATE_TILED = 1 << 8, + GDK_WINDOW_STATE_TOP_TILED = 1 << 9, + GDK_WINDOW_STATE_TOP_RESIZABLE = 1 << 10, + GDK_WINDOW_STATE_RIGHT_TILED = 1 << 11, + GDK_WINDOW_STATE_RIGHT_RESIZABLE = 1 << 12, + GDK_WINDOW_STATE_BOTTOM_TILED = 1 << 13, + GDK_WINDOW_STATE_BOTTOM_RESIZABLE = 1 << 14, + GDK_WINDOW_STATE_LEFT_TILED = 1 << 15, + GDK_WINDOW_STATE_LEFT_RESIZABLE = 1 << 16 } GdkWindowState; /** -- 2.30.2